//
//  FirstPerson.h
//  RenderV1
//
//  Created by 黄翔 on 2019/8/25.
//  Copyright © 2019 黄翔. All rights reserved.
//

#ifndef FirstPersonCamera_h
#define FirstPersonCamera_h

#include "HMath.h"
#include "Camera.h"

namespace hxe {
    class FirstPersonCamera : public Camera
    {
    private:        
        Vector2 mousePosition;

    public:
        FirstPersonCamera(Vector3 forward, Vector3 up, float fov, float aspect, float near, float far);
        
        void goForward(float distance);
        
        void goBack(float distance);
        
        void strafeLeft(float distance);
        
        void strafeRight(float distance);
        
        void yaw(float distance);
        
        void pitch(float distance);
        
    public:
        void update();
    };

}

#endif /* FirstPersonCamera_h */
